package com.freecloud.whispered.message.entity;

import com.freecloud.framework.entity.AbstractSaasUserEntity;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 *
 * @Author: maomao
 * @Date: 2019-08-29 09:22
 */
@Data
public class Message extends AbstractSaasUserEntity<Message,String> {

    /**
     * 标题
     */
    private String title;

    /**
     * 内容
     */
    private String content;

    /**
     * 消息跳转链接
     */
    private String url;

    /**
     * 参数
     */
    private Map<String,Object> parameters;

    /**
     * 消息类别
     */
    private MessageType messageType;

    /**
     * 模板ID
     */
    private String templateId;

    /**
     * 优先级
     */
    private Priority priority;

    /**
     * 是否读取
     */
    private boolean read;

    /**
     * 读取时间
     */
    private Date readTime;

    /**
     * 分组ID，多接收人同一批标识
     */
    private String groupId;

    /**
     * 优先级
     */
    enum Priority{
        /**
         * 最高
         */
        Tiptop(0),
        /**
         * 次高
         */
        High(1),
        /**
         * 普通
         */
        Medium(2),
        /**
         * 最低
         */
        Low(3);

        private int value;

        Priority(int value){
            this.value = value;
        }
    }

    /**
     * 消息类别
     */
    enum MessageType {
        /**
         * 提醒
         */
        REMIND,

        /**
         * 待办
         */
        TODO,

        /**
         * 动态
         */
        INFO,

        /**
         * 系统通知
         */
        SYSTEM
    }

}


